package config_mod

import (
	"clientDemo/service/common"
	"clientDemo/utils"
	"encoding/json"
	"flag"
	"gopkg.in/yaml.v2"
	"os"
)

var ConfArg = flag.String("conf", "./config/conf.yaml", "配置文件路径")
var CacheData = flag.String("cache", "./cache.data", "cacheData")
var AppData = flag.String("appdata", "./app.data", "appData")

func init() {
	flag.Parse()
}

func (m *ConfigModule) LoadConfig() interface{} {
	data, err := utils.LoadYamlFile(*ConfArg)
	if err != nil {
		return err
	}
	var conf common.Configure
	// 解析yaml文件
	err = yaml.Unmarshal(data, &conf)
	if err != nil {
		return err
	}
	common.Set(&conf)
	return nil
}

func (m *ConfigModule) ReadAppData() bool {
	file, err := os.ReadFile(*AppData)
	if nil != err {
		return false
	}
	json.Unmarshal(file, &m.data)
	return true
}
func (m *ConfigModule) SaveLoginStatus() {
	m.IsFirstStart = false
	m.data.IsLogin = true
	m.data.Password = common.Get().LoginConfig.Password
	data, err := json.Marshal(&m.data)
	if err != nil {
		m.logger.Println("ERROR:json格式转换失败")
		return
	}
	err = os.WriteFile(*AppData, data, os.ModePerm)
	if nil != err {
		m.logger.Println("ERROR:配置文件写入失败")
	}
}
